#pragma once

#include <boost/describe.hpp>

#include <algorithm/shared/utils/Para.h>
#include <utils/ParaUtils.h>

#include <cstdlib>
#include <string>

namespace solar
{
    class CommonPara : public Para
    {
        public:
            CommonPara() = default;
#include <utils/class_name.inc>

        private:
            std::uint32_t num_gpu_threads_ = 512; // GPU线程数
            std::string path_to_model_;           // PyTorch 模型路径
            BOOST_DESCRIBE_CLASS(CommonPara, (Para), (), (), (num_gpu_threads_, path_to_model_))
    };
} // namespace solar

#define CURRENT_CLASS_NAME CommonPara
#include <utils/class_describe_header.inc>
SOLAR_DESCRIBE_CLASS(CommonPara, (Para), (), (), (num_gpu_threads_, path_to_model_))
